/*
 * @Description: 公共工具类
 * @Author: DHL
 * @Date: 2022-01-01 15:18:18
 * @LastEditors: DHL
 * @LastEditTime: 2023-06-07 13:39:07
 */

import { isNotEmpty } from './isUtils'

/**
 * 判断是外链
 * @param path
 */
export function isExternal(path: string) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 获取浏览器参数
 * @param name
 * @returns
 */
export function getUrlParam(name: string) {
  // 获取哈希后的所有内容
  const hash = window.location.hash

  // 去掉哈希符号 '#'
  const hashWithoutPound = hash.slice(1)

  // 分离出查询参数部分
  const queryPart = hashWithoutPound.split('?')[1]

  // 创建URLSearchParams对象以解析查询参数
  const urlParams = new URLSearchParams(queryPart)

  return urlParams.get(name)
}

//////////////////////////////////////////////////
// HTML
//////////////////////////////////////////////////

/**
 * 获取元素高度
 * @param ele
 * @returns
 */
export function getElementHeight(ele: any) {
  if (!ele) {
    return 0
  }
  return ele.offsetHeight
}

//////////////////////////////////////////////////
// 微信
//////////////////////////////////////////////////
/**
 * 验证是否微信内打开
 */
export function isWeixin() {
  const browser: string = navigator.userAgent.toLowerCase()
  if (isNotEmpty(browser)) {
    const wechat: any = browser.match(/MicroMessenger/i)
    if (wechat == 'micromessenger') {
      return true
    }
  }
  return false
}
